<?php


namespace app\common\model;
use app\common\model\Base;

/*
 * 后台人员表
 * */
class SystemUser extends Base
{

    // 多对多关联(关联模型，中间模型)
    public function roles()
    {
        // group_id关联表主件在中间表中的字段名, uid是当前表的主键在中间表中的字段名
        return $this->belongsToMany('AuthGroup','AuthGroupAccess','group_id','uid');
    }

    // 获取当前用户信息和所有授予的角色
    public static function getUserRoleList()
    {

        $res = SystemUser::with(['roles'=>function($query) {
            $query->visible(['id','title','state','rules','description']);
        }])->where(['id'=>30])->visible(['id','username','department_id','sex','phone','authorize'])->find();

        return $res;
    }

    /*
     * @Notes: 获取用户的角色列表
     * */
    public static function getRoleList($uid=30)
    {
        $user = SystemUser::find($uid);
        return $user->roles;
    }

}